#include <bits/stdc++.h>
#define int long long
using namespace std;
int dp[2005][2][2005],T,n,a[200005],f[200005][2][15];
signed main()
{
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    scanf("%lld",&T);
    while(T--)
    {
        int maxx=0;
        scanf("%lld",&n);
        for(int i=1;i<=n;i++) scanf("%lld",a+i),maxx=max(maxx,a[i]);
        if(n>2003&&maxx<=13)
        {
            memset(f,-0x3f,sizeof(f));f[1][0][a[1]]=f[1][1][a[1]]=0;
            for(int i=2;i<=n;i++)
            {
//                cerr<<":::::::::::::"<<endl;
                f[i][0][a[i]]=f[i][1][a[i]]=0;
                for(int c=0;c<2;c++)
                {
                    for(int j=0;j<=13;j++) f[i][c][j]=max(f[i][c][j],f[i-1][c][j]+((a[i]==a[i-1])?(a[i]):(0)));
                    for(int j=0;j<=13;j++) f[i][c][j]=max(f[i][c][j],f[i-1][c^1][j]+((a[i]==j)?(a[i]):(0)));
//                    for(int j=0;j<=13;j++) cerr<<i<<' '<<j<<' '<<c<<' '<<f[i][c][j]<<endl;
                }
            }
            int ans=0;
            for(int c=0;c<2;c++) for(int j=0;j<=13;j++) ans=max(ans,f[n][c][j]);
            printf("%lld\n",ans);
            continue;
        }
        else if(n>2003)
        {
            printf("0\n");
            continue;
        }
        memset(dp,0,sizeof(dp));
        for(int i=2;i<=n;i++)
        {
            for(int c=0;c<2;c++)
            {
                for(int j=0;j<i;j++) dp[i][c][j]=max(dp[i][c][j],dp[i-1][c][j]+((a[i]==a[i-1])?(a[i]):(0)));
                for(int j=0;j<i;j++) dp[i][c][i-1]=max(dp[i][c][i-1],dp[i-1][c^1][j]+((a[i]==a[j])?(a[i]):(0)));
            }
        }
        int ans=0;
        for(int c=0;c<2;c++) for(int j=0;j<n;j++) ans=max(ans,dp[n][c][j]);
        printf("%lld\n",ans);
    }
    return 0;
}
